package com.applcn.order.repo.entity;

import com.applcn.core.base.BaseEntity;
import com.applcn.order.constant.OrderStatusEnum;
import com.applcn.order.constant.OrderTypeEnum;
import com.applcn.order.constant.PayTypeEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * com.applcn.order.repo
 * Description:
 *
 * @author: 大妖怪
 * @date: 2020-01-20 00:03
 */
@Data
public class OrderEntity extends BaseEntity {

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 商户id
     */
    private Long merchantId;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 商品id
     */
    private Long goodsId;

    /**
     * 商品skuId
     */
    private Long goodsSkuId;

    /**
     * 购物车id
     */
    private Long cartId;

    /**
     * 订单价格(元)
     */
    private BigDecimal price;

    /**
     * 实际支付价格(元)
     */
    private BigDecimal realPrice;

    /**
     * 支付方式 0-余额 1-微信 2-支付宝 ...
     */
    private PayTypeEnum payType;

    /**
     * 订单类型 0-充值余额 1-购买商品 2-购买付费版店铺 ...
     */
    private OrderTypeEnum orderType;

    /**
     * ip地址
     */
    private String ipAddress;

    /**
     * 回调处理系统时间
     */
    private Date notifyTime;

    /**
     * 响应数据中的支付时间
     */
    private Date paymentTime;

    /**
     * 发货时间
     */
    private Date sendTime;

    /**
     * 成交时间|收货时间
     */
    private Date dealTime;

    /**
     * 订单编号，平台唯一
     */
    private String orderNo;

    /**
     * 第三方支付订单编号，平台唯一
     */
    private String thirdOrderNo;

    /**
     * 订单状态 0-待支付 1-已支付/待发货 2-已发货/待收货 3-已收货/待评价
     * 4-已完成/已评价 5-申请退款/待退款 6-退款成功/已退款 7-拒绝退款 8-订单超时 9-已取消 10-已关闭
     */
    private OrderStatusEnum orderStatus;
}